Semantics of Concurrent Revisions
نویسندگان
چکیده
Enabling applications to execute various tasks in parallel is difficult if those tasks exhibit read and write conflicts. We recently developed a programming model based on concurrent revisions that addresses this challenge in a novel way: each forked task gets a conceptual copy of all the shared state, and state changes are integrated only when tasks are joined, at which time write-write conflicts are deterministically resolved. In this paper, we study the precise semantics of this model, in particular its guarantees for determinacy and consistency. First, we introduce a revision calculus that concisely captures the programming model. Despite allowing concurrent execution and locally nondeterministic scheduling, we prove that the calculus is confluent and guarantees determinacy. We show that the consistency guarantees of our calculus are a logical extension of snapshot isolation with support for conflict resolution and nesting. Moreover, we discuss how custom merge functions can provide stronger guarantees for particular data types that are tailored to the needs of the application. Finally, we show we can visualize the nonlinear history of state in our computations using revision diagrams that clarify the synchronization between tasks and allow local reasoning about state updates.
منابع مشابه
Offline Framework for Performance Comparison of Software Revisions
Repository-based version control systems such as CVS, RCS, Subversion, and GIT, are extremely useful tools that enable software developers to concurrently modify source code, manage conflicting changes, and commit updates as new revisions. Such systems facilitate collaboration with and concurrent contribution to shared source code by large developer bases. In this work, we investigate a framewo...
متن کاملInterval Construction within Partially Ordered Object Versions
Revisions of objects (or files, respectively) have always been managed by using labels attached to the revisions. Yet, typical version managers assume that the revisions are ordered totally or at least in a tree-like order. The ordering of labels reflects the semantical dependencies of revisions of a single object, therefore the labels should be able to represent a revision R inheriting propert...
متن کاملInterval Construction within Partially Ordered Object Versions 1
Revisions of objects (or files, respectively) have always been managed by using labels attached to the revisions. Yet, typical version managers assume that the revisions are ordered totally or at least in a tree-like order. The ordering of labels reflects the semantical dependencies of revisions of a single object, therefore the labels should be able to represent a revision R inheriting propert...
متن کاملRevision speci cations by means of programsVictor
We propose a formalism for specifying revisions in knowledge bases and belief sets. This formalism extends logic programming with stable model semantics. Main objects of our system are revision programs consisting of revision rules. A revision rule expresses a speciication of change or a constraint on a knowledge base. There are two types of revision rules. In-rules require that an element be i...
متن کاملOn the Semantics of Counterfactuals
It is argued that Ginsberg's Possible Worlds Approach to counterfactual implication suffers from a number of defects which are the result of confusing proof theory and model theory. In particular, logically equivalent theories do not have identical counterfactual consequences, and monotonic theory revisions are not always preferred to nonmonotonic ones. This paper develops a situation semantics...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2011